Method for extracting a signal

ABSTRACT

A method is provided of extracting desired signals st from contaminated signals yt measured via respective communication channels. The system comprising the desired signals st and the channels is modelled as a state space model. In the model, the desired signals have time-varying characteristics which vary more quickly than second time-varying characteristics of the channels.

[0001] The present invention relates to a method of extracting a signal. Such a method may be used to extract one or more desired signals from one or more contaminated signals received via respective communications channels. Signals may, for example, be contaminated with noise, with delayed versions of themselves in the case of multi-path propagation, with other signals which may or may not also be desired signals, or with combinations of these.

[0002] The communication path or paths may take any form, such as via cables, electromagnetic propagation and acoustic propagation. Also, the desired signals may in principle be of any form. One particular application of this method is to a system in which it is desired to extract a sound signal such as speech from contaminating signals such as noise or other sound signals, which are propagated acoustically.

[0003] WO 99/66638 discloses a signal separation technique based on state space modelling. A state space model is assumed for the signal mixing process and a further state space model is designed for an unmixing system. There is a suggestion that the communication environment for the signals may be time-varying, but this is not modelled in the disclosed technique.

[0004] U.S. Pat. No. 5,870,001 discloses a calibration technique for use in cellular radio systems. This technique is a conventional example of the use of Kalman filters.

[0005] U.S. Pat. No. 5,845,208 discloses a technique for estimating received power in a cellular radio system. This technique makes use of state space auto regressive models in which the parameters are fixed and estimated or “known” beforehand.

[0006] U.S. Pat. No. 5,581,580 discloses a model based channel estimation algorithm for fading channels in a Rayleigh fading environment. The estimator uses an auto regressive model for time-varying communication channel coefficients.

[0007] Kotecha and Djuric, “Sequential Monte Carlo sampling detector for Rayleigh fast-fading channel”, Proc. 2000 IEEE Int. Conf. Acoustics Speech and Signal Processing, Vol. 1, pages 61-64 discloses a technique for processing digital or discrete level signals. This technique makes use of modelling the system as a dynamic state space model in which channel estimation and detection of transmitted data are based on a Monte Carlo sampling filter. Channel fading coefficients and transmitted variables are treated as hidden variables and the channel coefficients are modelled as an autoregressive process. Particles of the hidden variables are sequentially generated from an importance sampling density based on past observations. These are propagated and weighted according to the required conditional posterior distribution. The particles and their weights provide an estimate of the hidden variables. This technique is limited to modelling of sources with fixed parameters.

[0008] Chin-Wei Lin and Bor-Sen Chen, “State Space Model and Noise Filtering Design in Transmultiplexer Systems”, Signal Processing, Vol. 43, No. 1, 1995, pages 65-78 disclose another state space modelling technique applied to communication systems. In a “transmultiplexer” scheme, desired signals are modelled as non-time-varying autoregressive processes with known and fixed parameters.

[0009] According to a first aspect of the invention, there is provided a method of extracting at least one desired signal from a system comprising at least one measured contaminated signal and at least one communication channel via which the at least one contaminated signal is measured, comprising modelling the at least one desired signal as a first dynamical state space system with at least one first time-varying parameter and modelling the at least one communication channel as a second state space system having at least one second parameter.

[0010] State space systems are known in mathematics and have been applied to the solution of some practical problems. In a state space system, there is an underlying state of the system which it is desired to estimate or extract. The state is assumed to be generated as a known function of the previous state value and a random error or disturbance term.

[0011] The available measurements are also assumed to be a known function of the current state and another random error or noise term.

[0012] It has been surprisingly found that a state space system may be successfully applied to the problem of extracting one or more desired signals from a system comprising one or more measured contaminated signals and communication channels. This technique makes possible the extraction of one or more desired signals in a tractable way and in real time or on-line. A further advantage of this technique is that future samples are not needed in order to extract the samples of the desired signal or signals although, in some embodiments, there may be an advantage in using a limited selection of future samples. In this latter case, the samples of the desired signal or signals are delayed somewhat but are still available at at least the sampling rate of the measured signals and without requiring very large amounts of memory.

[0013] The at least one desired signal may be generated by a physical process. The at least one first parameter may model the physical generation process. Although such modelling generally represents an approximation to the actual physical process, this has been found to be sufficient for signal extraction.

[0014] The at least one second parameter may be fixed and unknown. The at least one second parameter may be time-varying. The at least one first time-varying parameter may have a rate of change which is different from that of the at least one second time-varying parameter. The rate of change of the at least one first time-varying parameter may, on average, be greater than that of the at least one second time-varying parameters.

[0015] For many systems, the characteristics of the desired signal or signals vary relatively rapidly whereas the characteristics of the communication channel or channels vary more slowly. Although there may be abrupt changes in the channel characteristics, such changes are relatively infrequent whereas signals such as speech have characteristics which vary relatively rapidly. By modelling these characteristics in such a way that the different rates of variation are modelled, the extraction of one or more signals is facilitated.

[0016] The at least one desired signal may comprise a plurality of desired signals, each of which is modelled as a respective state space system. At least one but not all of the plurality of desired signals may be modelled with at least one third parameter, the or each of which is fixed and unknown.

[0017] At least one but not all of the plurality of desired signals may be modelled with at least one fourth parameter, the or each of which is known.

[0018] The or each second parameter may be known.

[0019] The at least one communication channel may comprise a plurality of communication channels and the at least one contaminated signal may comprise a plurality of contaminated signals. The at least one desired signal may comprise a plurality of desired signals. The number of communication channels may be greater than or equal to the number of desired signals. Although it is not necessary, it is generally preferred for the number of measured signals to be greater than or equal to the number of desired signals to be extracted. This improves the effectiveness with which the method can recreate the desired signal and, in particular, the accuracy of reconstruction or extraction of the desired signal or signals.

[0020] The at least one contaminated signal may comprise a linear combination of time-delayed versions of at least some of the desired signals. The method is thus capable of extracting a desired signal in the case of multi-path propagation, signals contaminating each other, and combinations of these effects.

[0021] The at least one contaminated signal may comprise the at least one desired signal contaminated with noise. Thus, the method can extract the or each desired signal from noise. The at least one channel may comprise a plurality of signal propagation paths of different lengths.

[0022] The at least one desired signal may comprise an analog signal. The analog signal may be a temporally sampled analog signal.

[0023] The at least one desired signal may comprise a sound signal. The at least one sound signal may comprise speech. The contaminated signals may be measured by spatially sampling a sound field. The at least one first parameter may comprise a noise generation modelling parameter. The at least one first parameter may comprise a formant modelling parameter. For example, acousto-electric transducers such as microphones may be spatially distributed in, for example, a room or other space and the output signals may be processed by the method in order to extract or separate speech from one source in the presence of background noise or signals, such as other sources of speech or sources of other information-bearing sound.

[0024] The at least one desired signal may be modelled as a time-varying autoregression. This type of modelling is suitable for many types of desired signal and is particularly suitable for extracting speech. As an alternative, the at least one desired signal may be modelled as a moving average model. As a further alternative, the at least one desired signal may be modelled as a non-linear time-varying model.

[0025] The at least one communication channel may be modelled as a time-varying finite impulse response model. This type of model is suitable for modelling a variety of propagation systems. As an alternative, the at least one communication channel may be modelled as an infinite impulse response model. As a further alternative, the at least one communication channel may be modelled as a non-linear time-varying model.

[0026] The first state space system may have at least one parameter which is modelled using a probability model. The at least one desired signal may be extracted by a Bayesian inversion. As an alternative, the at least one desired signal may be extracted by maximum likelihood. As a further alternative, the at least one desired signal may be extracted by at least squares fit. The signal extraction may be performed by a sequential Monte Carlo method. As an alternative, the signal extraction may be performed by a Kalman filter or by an extended Kalman filter. These techniques are particularly effective for complex models and are potentially implementable on parallel computers.

[0027] According to a second aspect of the invention, there is provided a program for controlling a computer to perform a method as claimed in any one of the preceding claims.

[0028] According to a third aspect of the invention, there is provided a carrier containing a program in accordance with the second aspect of the invention.

[0029] According to a fourth aspect of the invention, there is provided a computer programmed by a program according to the second aspect of the invention.

[0030] The invention will be further described, by way of example, with reference to the accompanying drawings, in which:

[0031]FIG. 1 is a diagram illustrating a signal source and a communication channel;

[0032]FIG. 2 is a diagram illustrating audio sound sources in a room and an apparatus for performing a method constituting an embodiment of the invention; and

[0033]FIG. 3 is a flow diagram illustrating a method constituting an embodiment of the invention.

[0034] In order to extract a desired signal, a parametric approach is used in which the data are assumed to be generated by an underlying unobserved process described at time t with the variable x_(t). The variable x_(t) contains information concerning the waveforms of the different sources. The problem of extracting a desired signal may be too complex for a good deterministic model to be available, as little is known concerning the real structure of the problem. Alternatively, if a good deterministic model is available, this may lead to a large set of intractable equations.

[0035] The models for the way sound is generated give expressions for the likely distribution of the current ‘state’ x_(t) given the value of the state at the previous time step x_(t−1). This probability distribution (known as the state transition distribution, or ‘prior’) is written as p(x_(t)|x_(t−1)). How the current observed data depend on the current state is specified through another probability distribution p(y_(t)|x_(t)) (known as the observation distribution, or ‘likelihood’). Finally, how the state is likely to be distributed at the initial time instant is specified by p(x₀). Specific forms for these three distributions are given later. A solution to circumvent the problems mentioned earlier comprises introducing uncertainty in the equations through probability distributions. More precisely this means that, instead of assuming, in a discrete time set-up, that x_(t+1) is a deterministic function of past values e.g. x_(t+1)=Ax_(t) where A is a linear operator, the plausible regions of the state space where the parameter can lie are described with a conditional probability distribution p (x_(t+1)=χ|x_(t)), the probability of x_(t+1) being equal to X given the previous value x_(t). This may be expressed, for example, as x_(t+1)=Ax_(t)+v_(t), where v_(t) is an uncertainty or error distributed according to a Gaussian distribution around zero. The way the distribution is spread indicates the degree of confidence in the deterministic component Ax_(t); the narrower the spread, the greater the confidence. This type of modelling proves to be robust in practice to describe very complex processes while being simple enough to be used in practice.

[0036] As mentioned above, whereas the structure of the process is assumed known (because of plausible physical assumptions), the variable x_(t) is not observed and solely observations y_(t) are available. In general, the observation mechanism, i.e. the transformations that the process of interest undergoes before being observed, will depend on the variable x_(t), but again some randomness needs to be incorporated in the description of the phenomenon, for example to take into account observation noise. Again this is done by means of a probability distribution p (y_(t)=y|x_(t)), the probability of y_(t) being equal to y given that the parameters of the underlying process are represented by x_(t). In the previous example, a possible observation process is of the form y_(t)=Cx_(t)+w_(t), that is some transformation of the parameter x_(t) describing the internal state of the process corrupted by an additive observation noise w_(t).

[0037] In the case of audio source separation, the parameter x_(t) contains the value s_(t) of the desired waveforms of the sources at time t and the evolving parameters of the sources (a_(t)) and the mixing system (h_(t)). This is illustrated diagrammatically in FIG. 1 for a single communication channel. Transition probability distributions are defined by:

p(a _(t+1) =a|a _(t))

p(h _(t+1) =h|h _(t))

[0038] and as it is not known how to characterize this evolution, apart from the fact that at is expected to evolve rapidly compared to h_(t) (which might also evolve abruptly, but this is expected to happen rarely):

a _(t+1) =a _(t) +v _(t) ^(a)

h _(t+1) =h _(t) +V _(t) ^(h)

[0039] where the distributions of v_(t) ^(a), v_(t) ^(h) are each isotropic, but have a different spread to reflect the different non-stationarity time scales. The set of the parameters at may be thought of as evolving spectral characteristics of the sources and the parameters h_(t) as classical finite impulse response (FIR) filters. Now that the parameters of the system are described, the waveforms may be assumed to evolve according to a probability distribution:

p(s _(t+1) =s|s _(t) , a _(t))

[0040] which describes the model of the sources.

[0041] One example of audio signal separation or extraction is where the sources are speech sources. The parameter x_(t) may then be modelled as a time-varying autoregressive process, for example by the expression: $x_{t} = {{\sum\limits_{i = 1}^{p}{a_{i,t} \cdot x_{t - i}}} + e_{t}}$

[0042] where the parameters a_(i,t) are filter coefficients of an all-resonant filter system representing the human vocal tract and e_(t) represents noise produced by the vocal cords.

[0043]FIG. 2 illustrates a typical application of the present method in which two desired sound sources, such as individuals who are speaking, are represented by s⁽¹⁾ _(t) and s⁽²⁾ _(t) located in an enclosed space in the form of a room 1 having boundaries in the form of walls 2 to 5. Microphones 6 to 8 are located at fixed respective positions in the room 1 and sample the sound field within the room to produce measured contaminated signals y⁽¹⁾ _(t), y⁽²⁾ _(t), y⁽³⁾ _(t). The measured signals are supplied to a computer 9 controlled by a program to perform the extraction method. The program is carried by a program carrier 10 which, in the example illustrated, is in the form of a memory for controlling the operation of the computer 9. The computer extracts the individual speech signals and is illustrated as supplying these via separate channels comprising amplifiers 11 and 12 and loudspeakers 13 and 14. Alternatively or additionally, the extracted signals may be stored or subjected to further processing.

[0044]FIG. 2 illustrates some of the propagation paths from the sound sources to one of the microphones 7. In each case, there is a direct path 15, 16 from each sound source to the microphone 7. In addition, there are reflected paths from each sound source to the microphone 7. For example, one reflected path comprises a direct sound ray 17 from the source which is reflected by the wall 2 to form a reflected ray 18. In general, there are many reflected paths from each sound source to each microphone with the paths being of different propagation lengths and of different sound attenuations.

[0045] The objective is to estimate the sources st given the observations y_(t) and, to be of practical use, it is preferable for the estimation to be performed on line with as little delay as possible. Whereas the modelling process describes the causes (x_(t)) that will result in effects (the observations y_(t)), the estimation task comprises inverting the causes and the effects. In the framework of probability modelling, this inversion can be consistently performed using Bayes' theorem. In the context of statistical filtering, that is the computation of the probability of x_(t) given all the observations up to time t, namely p(x_(t)|y_(1:t)), given the evolution probability p(x_(t)|x_(t−1)) and the observation probability p(y_(t)|x_(t)), the application of Bayes' rule yields ${p\left( x_{t} \middle| y_{1:t} \right)} = \frac{\int{{p\left( y_{t} \middle| x_{t} \right)}{p\left( x_{t} \middle| x_{t - 1} \right)}{p\left( x_{t - 1} \middle| y_{1:{t - 1}} \right)}{x_{t - 1}}}}{p\left( y_{t} \middle| y_{1:{t - 1}} \right)}$

[0046] This equation is fundamental as it gives the recursion between the filtering density at time t−1, i.e. p(x_(t−1)|y_(1:t−1)), and the filtering density at time t, p(x_(t)|y_(1:t)). The problem is that, in practice, the integral cannot be computed in closed-form and it is desired to compute these quantifies in an on-line or real time manner.

[0047] Whereas the use of probability distributions can be viewed as a way of representing in a parsimonious way the concentration of members of a population in certain regions of their feature space, Monte Carlo methods work in the opposite direction and rely on the idea that a probability distribution can be represented with an artificially generated set of samples distributed according to this distribution. This requires that the concentration of the samples in a given zone of the space of features is assumed to be representative of the probability of this zone under the distribution of interest. As expected, the larger the population, the more accurate the representation is. This approach possesses the advantage in many cases of greatly simplifying computation, which can to a large extent be performed in parallel.

[0048] The following represents a basic explanation of the techniques involved in the present method. This is followed by a detailed description of a specific embodiment.

[0049] It is assumed that, at time t−1, there are N>>1 members of a population of “particles” x_(t − 1)^((i))

[0050] distributed according to the distribution p(x_(t−1)|y_(1:t−1)). Then it is possible to guess where the particles are going to evolve using the evolution distribution p(x_(t)|x_(t−1)) or prior, from which it is typically easy to sample. Thus, ‘scouts’ are being sent into the regions which are likely, according to the prior on the evolution of the parameters. When the next observation y_(t) is available, the prediction needs to be corrected as the ‘scouts’ did not take into account the information brought by the new observation which can be quantifyied with p(Y_(t)|x_(t)). Some of the particles will be in regions of interest but typically insufficient numbers, or there might also be too many members of the population in regions where many less should be.

[0051] A way of regulating the population consists of multiplying members in underpopulated regions and suppressing members in overpopulated regions. This process is referred to as a selection step. It can be proved mathematically that the quantity that will decide the future of a ‘scout’ is the importance function: $w_{t}^{(i)} = \frac{p\left( y_{t} \middle| x_{t}^{(i)} \right)}{\sum\limits_{j = 1}^{N}{p\left( y_{t} \middle| x_{t}^{(j)} \right)}}$

[0052] and valid mechanisms include taking the nearest integer number to Nw_(t)^((i))

[0053] to determine the number of “children” of scout number i or randomly choosing the particle x_(t)^((i))

[0054] with probability w_(t)^((i)).

[0055] After the selection process, the children are approximately distributed according to p (x_(t)|y_(1:t)) and the next data can be processed. This is a very general description of the algorithm, and many improvements are possible as described hereinafter for a very specific case.

[0056] A general recipe for how to do sequential Monte Carlo estimation is given. This is the most basic form of the method and is described in N. J. Gordon, D. J. Sahnond and A. F. M. Smith, “Novel approach to nonlinear/non-Gaussian Bayesian state estimation”, IEE Proceedings-F, vol. 140, no. 2, pp. 107-113, 1993, the contents of which are incorporated herein by reference.

[0057] In an initial step 20, time t is set to zero. N so-called “particles” are randomly chosen from the initial distribution p(x₀) and labelled x^((k)) ₀, where k is an integer from 1 to N. The number N of particles is typically very large, for example of the order of 1,000. The steps 20 and 21 represent initialisation of the procedure.

[0058] State propagation is performed in a step 22. In this step, for each particle from the current time t=1, an update to the current time is randomly chosen according to the distribution p(x_(t+1)|x^((k)) _(t)). The updated particles x^((k)) _(t+1) have plausible values which lie in the expected region of the space according to the state transition distribution.

[0059] In a step 23, the next measured value Y_(t+1) is obtained from measuring or sampling the sound field. In a step 24, the weights of the particles are calculated. Because the updated particles x^((k)) _(t+1) were generated without reference to the new measurement y_(t+1), it is necessary to calculate a weight between zero and one for each particle representing how “good” each particle actually is in the light of the new measurement. The correct weight value for each particle is proportional to the value of the observation distribution for the particle. However, the sum of all of the weights is required to be equal to one. Accordingly, the weight of each particle x^((k)) _(t+1) is given by: $w_{t + 1}^{(k)} = \frac{p\left( y_{t + 1} \middle| x_{t + 1}^{(k)} \right)}{\sum\limits_{j = 1}^{N}{p\left( y_{t + 1} \middle| x_{t + 1}^{(j)} \right)}}$

[0060] A step 25 then reselects or resamples the particles in order to return to a set of particles without attached weights. The step 25 reselects N particles according to their weights as described in more detail hereinafter. A step 26 then increments time and control returns to the step 22. Thus, the steps 22 to 26 are repeated for as long as the method is in use.

[0061] The value of each sample may, for example, be calculated in accordance with the posterior mean estimator as: $\sum\limits_{i}{w_{t + 1}^{(i)} \cdot x_{t + 1}^{(i)}}$

[0062] The techniques described hereinbefore are relatively general and are not particularly limited to the case of separating or extracting speech or other audio signals from “contaminated” measurements. A method directed more explicitly to extracting audio source signals will now be described in greater detail.

[0063] The sources are assumed to be modelled with time varying autoregressive processes, i.e. source number i at time t is a linear combination of p_(i) (the so-called order of the model) past values of the same source (s_(i,t−1) . . . , s_(i,t−pi), or in short and vector form s_(i,t−1:t−pi)) perturbed by a noise, here assumed Gaussian, v_(i, t)^(s):

$\begin{matrix} {s_{i,t} = {{a_{i,t}^{T}s_{i,{{t - 1}:{t - p_{i}}}}} + v_{i,t}^{s}}} & (1) \end{matrix}$

[0064] This type of process is very flexible and allows for resonances to be modelled. The coefficients apt of the linear combination, are time-varying in order to take into account the non-stationarity of the resonances of speech: $\begin{matrix} {a_{i,{t + 1}} = {a_{i,t} + v_{i,{t + 1}}^{a}}} & (2) \end{matrix}$

[0065] The observations, which consist of the superimposition of the different sources (possibly delayed) at microphone j at time t are assumed generated by the following process $\begin{matrix} {y_{j,t} = {{\sum\limits_{i = 1}^{n}{h_{i,j,t}^{T}s_{i,{t:{t - l_{ij} + 1}}}}} + w_{j,t}}} & (3) \end{matrix}$

[0066] i.e. the observation is the sum over all the sources of filtered versions of the sources (the filter is of length l_(ij) from source i to microphone j, and introduces delays) perturbed by an observation noise w_(j,t). The transfer fiction from source i to microphone j evolves in time according to the equation h_(i, j, t + 1) = h_(i, j, t) + v_(i, j, t + 1)^(h)

[0067] It is assumed that the characteristics of v_(i, t + 1)^(a)

[0068] and w_(j,t) are known, whereas in the full version of the algorithm these parameters are also estimated.

[0069] The steps in the sequential Monte Carlo algorithm for audio source separation are essentially as shown in FIG. 3 but are changed or augmented as described hereinafter. The state vector x_(t) is defined as a stacked vector containing all the sources, autoregressive parameters and transfer functions between sources and microphones.

[0070] The initial values are randomly chosen from a normal distribution with a large spread

[0071] In the step 22, random noise v^(s(k)) _(i,t+1), v^(s(k)) _(i,t+1) and v^(h(k)) _(i,j,t+1) are generated from Gaussian distributions, for example as disclosed in B. D. Ripley, “Stochastic Simulation”, Wiley, N.Y. 1987, the contents of which are incorporated herein by reference. These quantities are then added to their respective state variables: $\begin{matrix} {a_{i,{t + 1}}^{(k)} = {a_{i,t}^{(k)} + v_{i,{t + 1}}^{a{(k)}}}} \\ {s_{i,{t + 1}}^{(k)} = {{a_{i,{t + 1}}^{(k)}s_{i,{t:{t - p_{i} - 1}}}^{(k)}} + v_{i,{t + 1}}^{s{(k)}}}} \\ {h_{i,j,{t + 1}}^{(k)} = {h_{i,j,t}^{(k)} + v_{i,j,{t + 1}}^{h{(k)}}}} \end{matrix}$

[0072] The step 24 calculates un-normalised weights as follows: $\begin{matrix} {w_{t + 1}^{(k)} = {{\exp \left( {\frac{- 1}{2\quad \sigma_{w}^{2}}\left( {y_{1,{t + 1}} - {\sum\limits_{i = 1}^{n}{h_{i,1,t}^{{(k)}T}s_{i,{t:{t - 1_{ik} + 1}}}^{(k)}}}} \right)^{2}} \right)} \times \cdots \times}} \\ {{\exp \left( {\frac{- 1}{2\quad \sigma_{w}^{2}}\left( {y_{n,{t + 1}} - {\sum\limits_{i = 1}^{n}{h_{i,n,t}^{{(k)}T}s_{i,{t:{t - l_{i,n} + 1}}}}}} \right)^{2}} \right)}} \end{matrix}$

[0073] The weights are then renormalised in accordance with the expression: $w_{t + 1}^{(k)} = \frac{w_{t + 1}^{(k)}}{\sum\limits_{j = 1}^{N}w_{t + 1}^{(j)}}$

[0074] The variability of the variances of the excitation noise and the observation noise may be taken into account by defining evolution equations on the φ_(j, t + 1, w) = log (σ_(j, t + 1, w)²)  and  φ_(j, t + 1, v) = log (σ_(j, t + 1, v)²)  as  follows φ_(w, j, t + 1) = A_(j)^(φ_(w))φ_(v, j, t) + B_(j)^(φ_(w))v_(j, t + 1)^(φ_(w)) φ_(v, j, t + 1) = A_(j)^(φ_(v))φ_(v, j, t) + B_(j)^(φ_(v))v_(j, t + 1)^(φ_(v)) where  v_(j, t + 1)^(φ_(w))  and  v_(j, t + 1)^(φ_(v))

[0075] are i.i.d. sequences distributed according to Gaussian distributions.

[0076] It is then possible to improve the performance with some or all of several modifications to the basic algorithm as follows:

[0077] (a) Estimation of the time-varying noise variances. Generate random noise v_(i, t + 1)^(φ  w), v_(i, t + 1)^(φ  v)

[0078] from normal distributions and compute φ_(w, j, t + 1) = A_(j)^(φ_(w))φ_(w, j, t) + B_(j)^(φ_(w))v_(j, t + 1)^(φ_(w)) φ_(v, j, t + 1) = A_(j)^(φ_(v))φ_(v, j, t) + B_(j)^(φ_(v))v_(j, t + 1)^(φ_(v))

[0079] which are transformed with an exponential to obtain the variances of the noises, i.e. σ_(w, j, t + 1)² = exp (φ_(w, j, t + 1))  and  σ_(v, j, t + 1)² = exp (φ_(v, j, t + 1)).

[0080] (b) By using the structure of the model, the mixing filter coefficients and the autoregressive coefficients can be integrated out. The implication is that the calculation of the weight is modified to w_(t + 1)^((k)) = p(y_(t)|x_(1 : t)^((k)), σ_(1 : t, 1 : m, v,)^(2(k))σ_(1 : t, 1 : n, w)^(2(k)))

[0081] This weight is calculated sequentially by use of a standard procedure, the Kalman filter, (see equation (50)) applied to the state space model for which the state consists of the autoregressive coefficients and mixing filter coefficients shown in the following equations (17) to (19). The advantage of this method is that the number of parameters to be estimated is significantly reduced and the statistical efficiency is much improved.

[0082] (c) The distribution that propagates the values of the sources is modified to an approximation of the filtering density p(x_(t)|y_(1 : t,)â_(1 : t,)ĥ_(1 : t,)σ_(1 : t, 1 : m, w)², σ_(1 : t, 1 : n, w)²),

[0083] which, in contrast to the basic algorithm, takes into account the new observation y_(t), hence leading to improved statistical efficiency once again. This density is the byproduct of a Kalman filter (say Kalman filter #2) applied to a state space model for which the state consists of the sources x_(i) and the parameters shown in the following equation (14) depend upon the filtered mean estimate of the mixing coefficients h and autoregressive coefficients a, previously obtained from Kalman filter #1

[0084] (d) Diversity among the particles is introduced by using a Metropolis-Hastings update on the particle whose target distribution is p(d(x_(j,)σ_(j, 1 : m, v)², σ_(j, 1 : n, w)²)_(j = 0, …  t)|y_(1 : t))

[0085] This step is introduced after the step 25 and the details are given hereinafter.

[0086] (e) Estimation is delayed for improvement purposes, i.e. to compute the value of the sources at time t, wait and take into account some future observations y_(t+1), . . . , Y_(t+L) for some L. Such a technique is called fixed-lag smoothing and does not modify the algorithm as it is merely necessary to wait for the data y_(t+1)

[0087] The fall details of these different steps are given hereinafter.

[0088] The whole system including sources and channels is modelled as a state space system, a standard concept from control and signal processing theory. The definition of a state space system is that there is some underlying state in the system at time t, denoted x_(t), which it is desired to estimate or extract. In the present case, this comprises the underlying desired sources themselves. The state is assumed to be generated as a known function of the previous state value and a random error or disturbance term: x_(t + 1) = A_(t + 1)(x_(t), v_(t + 1)^(x))

[0089] where A_(t+1)( . . . ) is a known function which represents the assumed dynamics of the state over time. Similarly the measurements at time t, denoted y_(t), are assumed to be a known function of the current state and another random error or noise term:

y _(t) =C _(l) ^(x)(x _(t) , w _(t) ^(x))

[0090] where C_(l) ^(x)( . . . ) is a known function representing the contaminating process. In the present case, C_(t) ^(X)( . . . ) represents the filtering effects of the channel(s) on the source(s) and w_(t) ^(x) represents the measurement noise in the system.

[0091] A key element of the present method is that both the source(s) and channel(s) have different time-varying characteristics which also have to be estimated. In other words, the functions A_(t+1), and C_(t) ^(x) themselves depend upon some unknown parameters, say θ_(t) ^(A) and θ_(t) ^(c). In the present case, θ_(t) ^(A) represents the unknown time-varying autoregressive parameters of the sources and θ_(t) ^(C) represents the unknown time-varying finite impulse response filter(s) of the channel(s). These time varying characteristics are modelled with additional state transition functions, as described below.

[0092] The problem addressed is the problem of source separation, the n sources being modelled as autoregressive (AR) processes, from which, at each time t, there are m observations which are convolutive mixtures of the n sources.

[0093] Source i can be modelled for t=1, . . . as: $\begin{matrix} {s_{i,t} = {{a_{i,l}^{T}s_{i,{{t - 1}:{t - p_{i}}}}} + {\sigma_{v,i,t}v_{i,t}^{s}}}} & (4) \end{matrix}$

[0094] and p_(i) is the order of the i^(th) AR model. It is assumed that s_(i,−Pi+1:0)˜N(m_(o) ^(s),P_(o) ^(s)) for i=1, . . . , n. (v_(i, t)^(s))_(t − 1…)

[0095] is a zero mean normalized i.i.d. Gaussian sequence, i.e. for i=1, . . . , n and t=1, . . . $\begin{matrix} {{{v_{i,t}^{s}}^{i,i,d} \sim {N\left( {0,1} \right)}}{{The}\quad \left( \sigma_{v,i,t}^{2} \right)_{{i = 1},\ldots \quad,n}}} & (5) \end{matrix}$

[0096] are the variances of the dynamic noise for each source at time t. It is assumed that the evolving autoregressive model follows a linear Gaussian state-space representation, $\begin{matrix} {{{a_{i,{t + 1}} = {{A_{i}^{a}a_{i,t}} + {B_{i}^{a}v_{i,{t + 1}}^{a}}}}{\varphi_{v,i,{t + 1}} = {{A_{t}^{\varphi_{v}}\varphi_{v,i,t}} + {B_{i}^{\varphi_{v}}v_{i,{t + 1}}^{\varphi_{v}}}}}{{{with}\quad \varphi_{v,i,t}}\overset{\bigtriangleup}{=}{\log \left( \sigma_{v,i,t}^{2} \right)}}},} & (6) \\ {v_{i,t}^{a}\overset{i,i,d}{\sim}{{N\left( {O_{p,}I_{p_{i}}} \right)}\quad {and}\quad v_{i,t}^{\varphi_{v}}}\overset{i,i,d}{\sim}{N\left( {0,1} \right)}} & (7) \end{matrix}$

[0097] and a_(i.0)˜N (m_(o) ^(a), P_(o) ^(a)). The model may include switching between different sets of matrices A_(i) ^(a), B_(l) ^(a) to take into account silences, for example. Typically A_(i) ^(a)=I_(pi) and B_(i) ^(a)∝I_(pi)

[0098] The mixing model is assumed to be a multidimensional time varying FIR filter. It is assumed that the sources are mixed in the following manner, and corrupted by an additive Gaussian i.i.d. noise sequence. At the jth sensor, and for j=1, . . . , m: $\begin{matrix} {y_{j,t} = {{\sum\limits_{i = 1}^{n}\quad {h_{i,j,t}s_{i,{t:{t - l_{ij} + 1}}}}} + {\sigma_{w,j,t}w_{j,t}}}} & (8) \end{matrix}$

[0099] where l_(ij) is the length of the filter from source i to sensor j. The series (w_(j,t))_(t=1) . . . . is a zero mean normalized i.i.d. Gaussian sequence, i.e. for j=1, . . . , n and t=1 . . . $\begin{matrix} \begin{matrix} {w_{j,t}\overset{i,i,d}{\sim}{N\left( {0,1} \right)}} \\ \left( \sigma_{w,j,t}^{2} \right)_{{j = 1},\ldots,m} \end{matrix} & (9) \end{matrix}$

[0100] are the variances of the observation noise for each sensor at time t. The w_(j,t) are assumed independent of the excitations of the AR models. The constraint [h_(i,j,t,)]_(l,l)=1 and [h_(ijt)]_(k,1)=0 for j=i mod m and i=n are imposed. In the case m=n, this constraint corresponds to [h_(ij,t)]_(1.1)=1 and [h_(ij,t)]_(k,1)=0 for j=i. As for the model of the sources, it is assumed that the observation system also follows a state-space representation. Writing $\begin{matrix} \begin{matrix} {\varphi_{w,j,t}\overset{\Delta}{=}{{\log \left( \sigma_{w,j,t}^{2} \right)}:}} \\ {h_{i,j,{t + 1}} = {{A_{i,j,}^{h}h_{i,j,t}} + {B_{i,j}^{h}v_{i,j,{t + 1}}^{h}}}} \end{matrix} & \quad \\ {\varphi_{w,j,{t + 1}} = {{A_{j}^{\varphi_{w}}\varphi_{w,j,t}} + {B_{j}^{\varphi_{w}}v_{j,{t + 1}}^{\varphi_{w}}}}} & (10) \\ {with} & \quad \\ {{v_{i,j,t}^{h}\overset{i,i,d}{\sim}{N\left( {0_{l_{i,{jx1}}},I_{l_{i,j}}} \right)}},{v_{j,t}^{\varphi_{w}}\overset{i,i,d}{\sim}{N\left( {0,1} \right)}}} & (11) \end{matrix}$

[0101] and h_(i,j,o)˜N(m_(o) ^(h)P_(o) ^(h)).

[0102] For each of the sources i, the signal can be rewritten in the following form: $\begin{matrix} \begin{matrix} {s_{i,{t:{t - \lambda_{i} + 1}}} = {{A_{i,t}^{S}s_{i,{{t - 1}:{t - \lambda_{i}}}}} + {B_{i,t}^{s}v_{i,t}^{s}}}} \\ {{where}\quad \lambda_{i}\underset{=}{\Delta}\max \left\{ {{pi},{\max\limits_{j}\left\{ l_{i,j} \right\}}} \right\} {and}\quad A_{i,t}^{s}} \end{matrix} & (12) \end{matrix}$

[0103] is a λ_(i) x λ_(i) matrix defined as: $\begin{matrix} {{A_{i,t}^{s}{\underset{=}{\Delta}\begin{bmatrix} {a_{i,t}^{T}0_{1{x{({\lambda_{i} - p_{i}})}}}} \\ {I_{{\lambda \quad i} - 1}0_{{({\lambda_{i} - 1})}{x1}}} \end{bmatrix}}},{B_{i,t}^{s}{\underset{=}{\Delta}\left( {\sigma_{v,i,t,}0_{1{x{({\lambda_{i} - 1})}}}} \right)}^{T}}} & (13) \end{matrix}$

[0104] The dynamnic system equations can be rewritten as: $\begin{matrix} {x_{t + 1} = {{A_{t + 1}^{x}x_{t}} + {B_{t + 1}^{x}v_{t + 1}^{x}}}} & (14) \end{matrix}$

y _(t) =C _(t) ^(x) x _(t) +D _(t) ^(x) w _(t) ^(x)

[0105] with $\begin{matrix} \begin{matrix} {{A_{t}^{x}\underset{=}{\Delta}{{diag}\left( {A_{{1,t,\ldots}\quad}A_{m,t}} \right)}},{B_{t}^{x\quad \underset{=}{\Delta}}{{diag}\left( {{B_{1,t,}\ldots}\quad,B_{m,t}} \right)}}} \\ {{v_{t}^{x} = \left( {v_{1,t}^{s}\ldots \quad v_{m,t}^{s}} \right)^{T}},{x_{t}^{\underset{=}{\Delta}}\left( {s_{1,{t:{t - \lambda_{1} + 1}}}^{T}\ldots \quad s_{m,{t:{t - \lambda_{m} + 1}}}^{T}} \right)}^{T}} \end{matrix} & (15) \end{matrix}$

[0106] [C_(t) ^(x)] contains the mixing system

[0107] and w_(t) ^(x)=(w_(l,t) . . . W_(n,t))^(T), $D_{t}^{x\quad \underset{=}{\Delta}}{{{diag}\left( {\sigma_{w,1}{\ldots\sigma}_{w,n}} \right)}.}$

[0108] Defining the “stacked” parameter vectors $\begin{matrix} \begin{matrix} \begin{matrix} {{{\left\lbrack a_{t} \right\rbrack {\sum\limits_{k = 1}^{i - 1}\quad p_{k}}} + j},{{1\underset{=}{\Delta}\left\lfloor a_{i,t} \right\rfloor_{j,1}\quad i} = 1},\ldots \quad,{m;{j = 1}},\ldots \quad,{p_{i};{i = 1}},\ldots \quad,{m;}} \\ {{{\left\lbrack h_{t} \right\rbrack \underset{u = 1}{\overset{i - 1}{\sum\quad}}\quad {\sum\limits_{v = 1}^{j_{i} - 1}\quad l_{uv}}} + k},{{1\underset{=}{\Delta}\left\lfloor h_{i,j,t} \right\rfloor_{k,1}\quad i} = 1},\ldots \quad,{m;{j_{i} = 1}},\ldots \quad,{n;{k = 1}},\ldots \quad,l_{ij}} \end{matrix} \\ {{{and}\quad l_{a}\underset{=}{\Delta}{\sum\limits_{i = 1}^{m}\quad p_{i}}},{{l_{h}^{\underset{=}{\Delta}}{\sum\limits_{j = 1}^{n}\quad {\sum\limits_{i = 1}^{m}\quad l_{ij}}}} = {\sum\limits_{j = 1}^{n}\quad l_{h,j}}}} \end{matrix} & (16) \end{matrix}$

[0109] it is possible to consider the following state space representations. $\begin{matrix} \begin{matrix} {h_{t + 1} = {{A_{t + 1}^{h}h_{t}} + {B_{t + 1}^{h}v_{t + 1}^{h}}}} \\ {y_{t} = {{C_{t}^{h}h_{t}} + {D_{t}^{h}w_{t}^{h}}}} \end{matrix} & (17) \end{matrix}$

[0110] where A_(t) ^(h),B_(t) ^(h), ∈ R^(i) _(h) ^(xl) _(h) , C_(h), ∈ R^(nxml) _(h) , D_(t) ^(h), ∈ R^(nxn) $\begin{matrix} {{{C_{t}^{h}\underset{=}{\Delta}\quad {diag}\left\{ {x_{1:{t - 1_{1,t} + 1}}\quad \ldots \quad x_{m,{t:{t - 1_{m,i} + 1}}}} \right\}_{{i = 1},\quad {\ldots \quad n}}}{and}}\quad} & (18) \\ \begin{matrix} {a_{t + 1} = {{A_{t + 1}^{a}a_{t}} + {B_{t + 1}^{a}v_{t + 1}^{a}}}} \\ {x_{t} = {{C_{t}^{a}a_{t}} + {D_{t}^{a}w_{t}^{a}}}} \end{matrix} & (19) \end{matrix}$

[0111] with A_(t) ^(a); B_(t) ^(a) ∈ R¹ _(a) ^(x1) _(a,) C_(t) ^(a) ∈ R^(mxl) _(a) where

C _(t) ^(a)=diag{x _(i,t−1:t−Pi)}_(i=1, . . . ,n)  (20)

[0112] This is a practical interest as it allows the mixing filters and autoregressive filters to be integrated out because, conditional upon the variances and states x_(t), the systems (17) and (19) are linear Gaussian state space models. Together with (14) they define a bilinear Gaussian process.

[0113] Given the number of sources m, p_(i) and l_(ij) it is required to estimate sequentially the sources (x_(t))_(t−1), . . . and their parameters $\theta_{t}{\underset{=}{\Delta}\left( {a_{t},h_{t},{\sigma_{{t;{1:m}},v,}^{2}\sigma_{{t;{1:n}},w}^{2}}} \right\}}$

[0114] from the observations Y_(j.t). More precisely, in the framework of Bayesian estimation, one is interested in the recursive, in time, estimation of posterior distributions of the type p(dθ_(t),dx_(t)|y_(1:t+L)): when L=0 this corresponds to the filtering distribution and when L>0 this corresponds to the fixed-lag smoothing distribution. This is a very complex problem that does not admit any analytical solution, and it is necessary to resort to numerical methods. Such a numerical method is based on Monte Carlo simulation. Subsequently the following notation will be used: ${\alpha_{t}\underset{=}{\Delta}\left\{ {a_{t},h_{t}} \right\}},{\beta_{t}\underset{=}{\Delta}\left\{ {\sigma_{t,{1:m},v,}^{2}\sigma_{t,{1:n},w}^{2}} \right\} \quad {and}\quad \gamma_{t}\underset{=}{\Delta}{\left\{ {x_{t},{\sigma_{t,{1:m},v,}^{2}\sigma_{t,{1:n},w}^{2}}} \right\}.}}$

[0115] A simulation-based optimal filter/fixed-lag smoother is used to obtain filtered/fixed-lag smoothed estimates of the unobserved sources and their parameters of the type $\begin{matrix} {{I_{L}\left( f_{t} \right)}\underset{=}{\Delta}{\int{{f_{t}\left( {\theta_{t},x_{t}} \right)}{p\left( {{\theta_{t}},{{/{x_{t}}}\left. y_{1:{I + L}} \right)}} \right.}}}} & (21) \end{matrix}$

[0116] The standard Bayesian importance sampling method is first described, and then it is shown how it is possible to take advantage of the analytical structure of the model by integrating onto the parameters a_(t) and h_(t) which can be high dimensional, using Kalman filter related algorithms. This leads to an elegant and efficient algorithm for which the only tracked parameters are the sources and the noise variances. Then a sequential version of Bayesian importance sampling for optimal filtering is presented, and it is shown why it is necessary to introduce selection as well as diversity in the process. Finally, a Monte Carlo filter/fixed-lag smoother is described.

[0117] For any f_(t) it will subsequently be assumed that |I_(L)(f_(t))|<+∞. Suppose that it is possible to sample N i,i,d. samples, called particles, (x_(0 : t + L)^((i)), θ_(0 : t + L)^((i)))

[0118] according to p(x_(0:t+L,)θ_(0:t+L)|y_(1:t+L)). Then an empirical estimate of this distribution is given by $\begin{matrix} {{\hat{p}}_{N}\left( {{d\quad x_{0:{t + L}}},{d\quad \theta_{0:{t + L}}\left. y_{1:{t + L}} \right)\frac{1}{N}{\sum\limits_{i = 1}^{N}\quad {\delta_{x_{0:{t + L}}^{(i)},\theta_{0:{t + L}}^{(i)}}\left( {{d\quad x_{0:{t + L}}},{d\quad \theta_{0:{t + L}}}} \right)}}}} \right.} & (22) \end{matrix}$

[0119] so that a Monte Carlo approximation of the marginal distribution p (dx_(t), dθ_(t)|y_(l:t+L)) follows as $\begin{matrix} {{\hat{p}}_{N}\left( {{d\quad x_{t}},{{d\quad \theta_{t}\left. y_{1:{t + L}} \right)} = {\frac{1}{N}{\sum\limits_{i = 1}^{N}\quad {\delta_{x_{t}^{(i)},\theta_{t}^{(i)}}\left( {{d\quad x_{t}},{d\quad \theta_{t}}} \right)}}}}} \right.} & (23) \end{matrix}$

[0120] Using this distribution, an estimate of I_(L) (f_(t)) for any f_(t) may be obtained as $\begin{matrix} \begin{matrix} {{{\hat{I}}_{L,N}\left( f_{t} \right)} = {\int{f\quad {t\left( {x_{t},\theta_{t}} \right)}{{\hat{p}}_{N}\left( {{x_{t}},{{\theta_{t}}\left. y_{1:{t + L}} \right)}} \right.}}}} \\ {= {\frac{1}{N}{\sum\limits_{i = 1}^{N}\quad {{f_{t}\left( {x_{t}^{(i)},\theta_{t}^{(i)}} \right)}.}}}} \end{matrix} & (24) \end{matrix}$

[0121] This estimate is unbiased and from the strong law of large numbers, ${{\hat{I}}_{L,N}\left( f_{t} \right)} = {{\overset{a.s.}{\underset{N\rightarrow{+ {oo}}}{}}{I_{L}\left( f_{t} \right)}}.}$

[0122] Under additional assumptions, the estimates satisfy a central limit theorem. The advantage of the Monte Carlo method is clear. It is easy to estimate I_(L) (f_(t)) for any f_(t), and the rate of convergence of this estimate does not depend on t or the dimension of the state space, but only on the number of particles N and the characteristics of the function f_(t). Unfortunately, it is not possible to sample directly from the distribution p (dx_(0:t+L,)dθ_(0:t+L)|y_(1:t+L)) at any t, and alternative strategies need to be investigated.

[0123] One solution to estimate p (dx_(0:t+L,) dθ_(0:t+L)|y_(l:t+L)) and I_(L) (f_(t)) is the well-known Bayesian importance sampling method as disclosed in A. Doucet, S. J. Godsill and C. Andrieu, “On sequential Monte Carlo sampling methods for Bayesian filtering”, Statistics and Computing, 2000, the contents of which are incorporated herein by reference. This method assumes the existence of an arbitrary importance distribution n (dx_(0:t+L,) dθ_(0:t+L)|y_(0:t+L)) which is easily simulated from, and whose support contains that of p (dx_(0:t+L,) dθ_(0:t+L)|y_(l:t+L)). Using this distribution I_(L) (f_(t)) may be expressed as $\begin{matrix} {{{I_{L}\left( f_{t} \right)} = \frac{\int{\pi\left( {{x_{1:{t + L}}},{{\theta_{1:{t + L}}}\left. y_{1:{t + L}} \right){f_{t}\left( {x_{t},\theta_{t}} \right)}{w\left( {x_{0:{t + L}},\theta_{0:{t + L}}} \right)}}} \right.}}{\int{\pi\left( {{x_{1:{t + L}}},{{\theta_{1:{t + L}}}\left. y_{1:{t + L}} \right){w\left( {x_{0:{t + L}},\theta_{0:{t + L}}} \right)}}} \right.}}},} & (25) \end{matrix}$

[0124] where the importance weight w (x_(0:t+L,)θ_(0:t+L)) is given by $\begin{matrix} {{w\left( {x_{0:{t + L}},\theta_{0:{t + L}}} \right)}\alpha \frac{p\left( {x_{0:{t + L}},{\theta_{0:{t + L}}\left. y_{1:{t + L}} \right)}} \right.}{\pi\left( {x_{0:{t + L}},{\theta_{0:{t + L}}\left. y_{1:{t + L}} \right)}} \right.}} & (26) \end{matrix}$

[0125] The importance weight can normally only be evaluated up to a constant of proportionality, since, following from Bayes' rule $\begin{matrix} {p\left( {{d\quad x_{0:{t + L}}},{{d\quad \theta_{0:{t + L}}\left. y_{1:{t + L}} \right)} = \frac{p\left( {y_{1:{t + L}}\left. {x_{0:{t + L}},\theta_{0:{t + L}}} \right){p\left( {{d\quad x_{0:{t + L}}},{d\quad \theta_{0:{t + L}}}} \right)}} \right.}{p\left( y_{1:{t + L}} \right)}},} \right.} & (27) \end{matrix}$

[0126] where the normalizing constant p(y_(l:t+L)) can typically not be expressed in closed-form.

[0127] If N i.i.d. samples (x_(0 : t + L)^((i)), θ_(0 : t + L)^((i)))

[0128] can be simulated according to a distribution π(dx_(0:t+L,)dθ_(0:t+L)|Y_(l:t+L)), a Monte Carlo estimate of I_(L) (f_(t)) in (25) may be obtained as $\begin{matrix} \begin{matrix} {{{\hat{I}}_{L,N}^{1}\left( {f\quad t} \right)} = \frac{\sum\limits_{i = 1}^{N}\quad {{f_{t}\left( {x_{t}^{(i)},\theta_{t}^{(i)}} \right)}{w\left( {x_{0:{t + L}}^{(i)},\theta_{0:{t + L}}^{(i)}} \right)}}}{\sum\limits_{i = 1}^{N}{w\left( {x_{0:{t + L}}^{(i)},\theta_{0:{t + L}}^{(i)}} \right)}}} \\ {{= {\sum\limits_{i = 1}^{N}{{\overset{\_}{w}}_{0:{t + L}}^{(i)}\quad {f_{t}\left( {x_{t}^{(i)},\theta_{t}^{(i)}} \right)}}}},} \end{matrix} & (28) \end{matrix}$

[0129] where the normalized importance weights are given by $\begin{matrix} {{\overset{\_}{w}}_{0:{t + L}}^{(i)} = {\frac{w\left( {x_{0:{t + L}}^{(i)},\theta_{0:{t + L}}^{(i)}} \right)}{\overset{N}{\sum\limits_{j = 1}}{w\left( {x_{0:{t + L}}^{(j)},\theta_{0:{t + L}}^{(j)}} \right)}}.}} & (29) \end{matrix}$

[0130] This method is equivalent to a point mass approximation of the target distribution of the form $\begin{matrix} {{\hat{p}}_{N}\left( {{d\quad x_{0:{t + L}}},{{d\quad \theta_{0:{t + L}}\left. y_{1:{t + L}} \right)} = {\sum\limits_{i = 1}^{N}{{\overset{\_}{w}}_{0:{t + L}}^{(i)}\quad {\delta_{x_{0:{t + L}}^{(i)},\theta_{0:{t + L}}^{(i)}}\left( {{d\quad x_{0:{t + L}}},{d\quad \theta_{0:{t + L}}}} \right)}}}},} \right.} & (30) \end{matrix}$

[0131] The perfect simulation case, when π(dx_(0:t+L,) dθ_(0:t+L)|y_(l:t+L))=P (dx_(0:t+L,) dθ_(0:t+L)|y_(l:t+L)), corresponds to ${{\overset{\_}{w}}_{0:{t + L}}^{(i)} = N^{- 1}},$

[0132] i=1, . . . ,N. In practice, the importance distribution will be chosen to be as close as possible to the target distribution in a given sense. For finite N, Î_(L, N)¹(f_(t))

[0133] is biased, since it involves a ratio of estimates, but asymptotically; according to the strong law of large numbers, ${{{\hat{I}}_{L,N}^{1}\left( {f\quad t} \right)}\overset{a.s.}{\underset{N\rightarrow{+ {oo}}}{}}{I_{L}\left( f_{t} \right)}}.$

[0134] Under additional assumptions a central limit theorem also holds as disclosed in Doucet, Godsill and Andrieu.

[0135] It is possible to reduce the estimation of p (dx_(t), dθ_(t)|y_(l:t+L)) and I_(L) (f_(t)) to one of sampling from p (dγ_(0:t+L)|y_(l:t+L)), where we recall that $\gamma_{t}\underset{=}{\Delta}{\left\{ {x_{t},{\sigma_{t,{1:m},v,}^{2}\sigma_{t,{1:n},w}^{2}}} \right\}.}$

[0136] Indeed,

p(dα _(t) , dγ _(0:t+L) |y _(l:t+L))=p(dα _(t)|γ_(0:t+L) , y _(l:t+L))xp(dγ _(0:t+L) |y _(l:t+L))  (31)

[0137] where p (dα_(t)|γ_(0:t+L),y_(l:t+L)) is a Gaussian distribution whose parameters may be computed using Kalman filter type techniques. Thus, given an approximation of p (dγ_(0:t+L)|y_(l:t+L)), an approximation of p (dx_(t),dθ_(t)|y_(l:t+L)) may straightforwardly be obtained. Defining the marginal importance distribution and associated importance weight as $\begin{matrix} {{{\pi \left( {d\quad \gamma_{{0\text{:}t} + L}} \middle| y_{{1\text{:}t} + L} \right)} = {\int{{\pi \left( {{\alpha_{{0\text{:}t} + L}}{\gamma_{{0\text{:}t} + L}}} \middle| y_{{1\text{:}t} + L} \right)}{w\left( \gamma_{{0\text{:}t} + L} \right)}\alpha \frac{p\left( \gamma_{{0\text{:}t} + L} \middle| y_{{1\text{:}t} + L} \right)}{\pi \left( \gamma_{{0\text{:}t} + L} \middle| y_{{1\text{:}t} + L} \right)}}}},} & (32) \end{matrix}$

[0138] and assuming that a set of samples γ_(0:t + L)^((i))

[0139] distributed according to π(dγ_(0:t+L)|y_(l:t+L)) is available, an alternative Bayesian importance sampling estimate of I_(L) (f_(t)) follows as $\begin{matrix} {{{Î_{N}^{2}\left( {f\quad t} \right)} = {\frac{\sum\limits_{1 = 1}^{N\quad}\quad {{p\left( {\left. \alpha_{t}^{(i)} \middle| \gamma_{0:{t + L}}^{(i)} \right.,y_{1:{t + L}}} \right)}{f_{t}\left( {x_{t}^{(i)},\theta_{t}^{(i)}} \right)}{w\left( \gamma_{0:{t + L}}^{(i)} \right)}}}{\sum\limits_{i = 1}^{N\quad}{w\left( \gamma_{0:{t + L}}^{(i)} \right)}} = {\sum\limits_{i = 1}^{N\quad}{{\overset{\sim}{w}}_{0:{t + L}}^{(i)}{p\left( {\left. \alpha_{t}^{(i)} \middle| \gamma_{0:{t + L}}^{(i)} \right.,y_{1:{t + L}}} \right)}{f_{t}\left( {x_{t}^{(i)},\theta_{t}^{(i)}} \right)}}}}},} & (33) \end{matrix}$

[0140] provided that p(α_(t)|y_(0:t+L),y_(l:t+L))f_(t)(x_(t), θ_(t)) can be evaluated in a closed form expression. In (33) the marginal normalized importance weights are given by $\begin{matrix} {{{\overset{\sim}{w}}_{0:{t + L}}^{(i)} = \frac{w\left( \gamma_{0:{t + L}}^{(i)} \right)}{\sum\limits_{j = 1}^{N\quad}{w\left( \gamma_{0:{t + L}}^{(j)} \right)}}},{i = 1},\ldots \quad,{N.}} & (34) \end{matrix}$

[0141] Intuitively, to reach a given precision Î_(L, N)²(f_(t))

[0142] will need a reduced number of samples over Î_(L, N)²(f_(t)),

[0143] since it only requires samples from the marginal distribution π(d  γ_(0:t + L)^((i))|y_(1:t + L)).

[0144] It can be proved that the variances of the estimates is subsequently reduced as disclosed in A. Doucet, J. F. G. de Freitas and N. J. Gordon (eds.), Sequential Monte Carlo Methods in Practice, Springer-Verlag, June 2000, the contents of which are incorporated herein by reference. In the present case, this is important as at each time instant the number of parameters is (when assuming that all mixing filters and AR processes have the same length),

[0145] m²L−mL parameters for the mixing filters, where L can be large.

[0146] m or 1 parameter(s) for the observation noise.

[0147] nl+n parameters for the autoregressive processes.

[0148] n parameters for the sources.

[0149] It is not clear which integration will allow for the best variance reduction, but, at least in terms of search in the parameters space, the integration of the mixing filters and autoregressive filters seems preferable.

[0150] Given these results, the subsequent discussion will focus on Bayesian importance sampling methods to obtain approximations of p(d  γ_(0:t + L)^((i))|y_(1:t + L))

[0151] and I_(L) (f_(t)) using an importance distribution of the form π(d  γ_(0:t + L)^((i))|y_(1:t + L)).

[0152] The methods described up to now are batch methods. How a sequential method may be obtained is described below.

[0153] The importance distribution at discrete time t may be factorized as $\begin{matrix} {{\pi \left( {d\quad \gamma_{{0\text{:}t} + L}} \middle| y_{{1\text{:}t} + L} \right)} = {{\pi \left( {d\quad \gamma_{0}} \middle| y_{{1\text{:}t} + L} \right)}{\prod\limits_{k = 1}^{t + L}\quad {{\pi \left( {\left. {d\quad \gamma_{k}} \middle| \gamma_{{0\text{:}k} - 1} \right.,y_{{1\text{:}t} + L}} \right)}.}}}} & (35) \end{matrix}$

[0154] The aim is to obtain at any time t an estimate of the distribution p (dγ_(0:t+L)|y_(l:t+L)) and to be able to propagate this estimate in time without modifying subsequently the past simulated trajectories γ_(0:t + L).

[0155] This means that π(dγ_(0:t+L)|y_(l:t+L)) should admit π(dγ_(0:t−I+L)|y_(l:t+L)) as marginal distribution. This is possible if the importance distribution is restricted to be of the general form $\begin{matrix} {{{\pi \left( {d\quad \gamma_{{0\text{:}t} + L}} \middle| y_{{1\text{:}t} + L} \right)} = {{\pi \left( {d\quad \gamma_{0}} \right)}{\prod\limits_{k = 1}^{t + L}\quad {\pi \left( {\left. {d\quad \gamma_{k}} \middle| \gamma_{{0\text{:}k} - 1} \right.,y_{1\text{:}k}} \right)}}}},} & (36) \end{matrix}$

[0156] Such an importance distribution allows recursive evaluation of the importance weights, i.e. w (γ_(0:t+L))=W (γ_(0:t−l+L)) W_(t+L), and in this particular case $\begin{matrix} {\frac{p\left( \gamma_{{0\text{:}t} + L} \middle| y_{{1\text{:}t} + L} \right)}{\pi \left( \gamma_{{0\text{:}t} + L} \middle| y_{{1\text{:}t} + L} \right)}\alpha \frac{p\left( \gamma_{{0\text{:}t} + L - 1} \middle| y_{{1\text{:}t} + L - 1} \right)}{\pi \left( \gamma_{{0\text{:}t} + L - 1} \middle| y_{{1\text{:}t} + L - 1} \right)} \times \frac{{p\left( y_{t + L} \middle| \gamma_{{0\text{:}t} + L} \right)}{p\left( {\left. x_{t + L} \middle| x_{t + L - 1} \right.,\beta_{t + L}} \right)}{p\left( \beta_{t + L} \middle| \beta_{t + L - 1} \right)}}{\pi \left( {\left. \gamma_{t + L} \middle| \gamma_{{0\text{:}t} + L - 1} \right.,y_{{1\text{:}t} + L}} \right)}} & (37) \end{matrix}$

[0157] The quantity p (dx_(t+L)|x_(t+L),β_(t+L)) can be computed up to a normalizing constant using a one step ahead Kalman filter for the system given by Eq. (19) and p (y_(t+L)|x_(0:t+L),β_(t+L)) can be computed using a one step ahead Kalman filter of the system given by Eq. (17).

[0158] There is an unlimited number of choices for the importance distribution π(dγ_(0:t+L)|y_(l:t+L)), the only restriction being that its support includes that of p (dγ_(0:t+L)|y_(l:t+L)). Two possibilities are considered next. A possible strategy is to be choose at time t+L the importance distribution that minimizes the variance of the importance weights given γ_(0:t−1) and y_(l:t). The importance distribution that satisfies this condition is p (dγ_(t+L)|γ_(0:t−1+L),y_(l:t+L)), with the associated incremental importance weight given by $\begin{matrix} {{w_{t + L}\alpha \quad {p\left( {\left. y_{t + L} \middle| \gamma_{{0\text{:}t} - 1 + L} \right.,y_{{1\text{:}t} + L - 1}} \right)}} = {\int{{p\left( {\left. y_{t + L} \middle| \gamma_{{0\text{:}t} + L} \right.,y_{{1\text{:}t} + L - 1}} \right)}{{p\left( {d\quad \gamma_{t + L}} \middle| \gamma_{t - 1 + L} \right)}.}}}} & (38) \end{matrix}$

[0159] Direct sampling from the optimal importance distribution is difficult, and evaluating the importance weight is analytically intractable. The aim is thus in general to mimic the optimal distribution by means of tractable approximations, typically local linearization p(dγ_(t)|γ_(0:t−1),y_(1:t)). Instead, a mixed suboptimal method is described. We propose to sample the particles at time t according to two importance distributions π₁, and π₂ with proportions α and 1−α such that the importance weights w(γ_(0:t + L)^((i)))

[0160] have now the form (note that it would be possible to draw N₁ and N₂ randomly according to a Bernoulli distribution with parameter a, but this would increase the estimator variance) $\begin{matrix} \left\{ \begin{matrix} {{\alpha \frac{p\left( \gamma_{0:{t + L}}^{(i)} \middle| y_{1:{t + L}} \right)}{\pi_{1}\left( \gamma_{0:{t + L}}^{(i)} \middle| y_{1:{t + L}} \right)}}} & {/{E_{\pi \quad 1}\left\lbrack \frac{p\left( \gamma_{0:{t + L}} \middle| y_{1:{t + L}} \right)}{\pi_{1}\left( \gamma_{0:{t + L}} \middle| y_{1:{t + L}} \right)} \right\rbrack}} \\ {\left( {1 - \alpha} \right)\frac{p\left( \gamma_{0:{t + L}}^{(i)} \middle| y_{1:{t + L}} \right)}{\pi_{2}\left( \gamma_{{0\text{:}t} + L}^{(i)} \middle| y_{{1\text{:}t} + L} \right)}} & {/{E_{\pi 2}\left\lbrack \frac{p\left( \gamma_{0:{t + L}} \middle| y_{1:{t + L}} \right)}{\pi_{2}\left( \gamma_{0:{t + L}} \middle| y_{1:{t + L}} \right)} \right\rbrack}} \end{matrix} \right. & (39) \end{matrix}$

[0161] which in practice is estimated as $\begin{matrix} {{\overset{\_}{w}}_{0:{t + L}}^{(i)}\left\{ \begin{matrix} {{\alpha \frac{{p\left( \gamma_{0:{t + L}}^{(i)} \middle| y_{1:{t + L}} \right)}/{\pi_{1}\left( \gamma_{0:{t + L}}^{(i)} \middle| y_{1:{t + L}} \right)}}{\sum\limits_{j = 1}^{N\quad \alpha}\quad {{p\left( \gamma_{0:{t + L}}^{(j)} \middle| y_{1:{t + L}} \right)}/{\pi_{1}\left( \gamma_{0:{t + L}}^{(j)} \middle| y_{1:{t + L}} \right)}}}}} \\ {\left( {1 - \alpha} \right)\frac{{p\left( \gamma_{0:{t + L}}^{(i)} \middle| y_{1:{t + L}} \right)}/{\pi_{2}\left( \gamma_{0:{t + L}}^{(i)} \middle| y_{1:{t + L}} \right)}}{\sum\limits_{j = {{a\quad N} + 1}}^{N\quad \alpha}\quad {{p\left( \gamma_{0:{t + L}}^{(j)} \middle| y_{1:{t + L}} \right)}/{\pi_{2}\left( \gamma_{0:{t + L}}^{(j)} \middle| y_{1:{t + L}} \right)}}}} \end{matrix} \right.} & (40) \end{matrix}$

[0162] The importance distribution π₁ (dx_(t+L)|x_(1:t+L−1),β_(l:t+L),y_(l:t+L)) will be taken to a normal distribution centered around zero with variance σ_(x) ², and π₂ (dX_(t+L)|x_(1:t+L−1), β_(1:t+L), γ_(1:t+L) is taken to be) p(dx_(t + L)^((i))|m_(t + L|t + L)^(a, h(i)), p_(t + L|t + L)^(a, h(i)), β_(t + L)^((i)), y_(1 : t + L))

[0163] which is a Gaussian distribution obtained from a one step ahead Kalman filter for the state space model described in (14) with m_(t + L|t + L)^(a(i))  and  m_(t + L|t + L)^(h(i))

[0164] as values for a^((i)) and h^((i)) and initial variances P^(a) _(t+L|t+L) and P^(h) _(t+1|t+L). The variances are sampled from their prior distributions, and expression (37) is used to compute ${\overset{\_}{w}}_{{0\text{:}t} + L}^{(i)}.$

[0165] Note that other importance distributions are possible, but this approach yields good results and seems to preserve diversity of the samples.

[0166] For importance distributions of the form specified by (36) the variances of the importance weights can only increase (stochastically) over time, as disclosed by Doucet, Godsill and Andrieu and the references therein. It is thus impossible to avoid a degeneracy phenomenon. Practically, after a few iterations of the algorithm, all but one of the normalized importance weights are very close to zero, and a large computational effort is devoted to updating trajectories whose contribution to the final estimate is almost zero. For this reason it is of crucial importance to include selection and diversity. This is discussed in more detail hereinafter.

[0167] The purpose of a selection (or resampling) procedure is to discard particles with low normalized importance weights and multiply those with high normalized importance weights, so as to avoid the degeneracy of the algorithm. A selection procedure associates with each particle, say ${\overset{\sim}{\gamma}}_{0:t}^{(i)},$

[0168] a number of children N_(i) ∈N, such that ${{\sum\limits_{i = 1}^{N}\quad N_{i}} = N},$

[0169] to obtain N new particles ${{{\overset{\sim}{\gamma}}_{0:t}^{(i)}.\quad {If}}\quad N_{i}} = {0\quad {then}\quad {\overset{\sim}{\gamma}}_{0:t}^{(i)}}$

[0170] is discarded, otherwise it has N_(i) children at time t+1. After the selection step the normalized importance weights for all the particles are reset to N⁻¹, thus discarding all information regarding the past importance weights. Thus, the normalized importance weight prior to selection in the next time step is proportional to (37). These will be denoted as ${\overset{\sim}{w}}_{t}^{(i)},$

[0171] since they do not depend on any past values of the normalized importance weights. If the selection procedure is performed at each time step, then the approximating distribution before the selection step is given by ${{{\overset{\sim}{p}}_{N}\left( {d\quad \gamma_{0:t}} \middle| y_{1:t} \right)} = {\sum\limits_{i = 1}^{N}\quad {{\overset{\sim}{w}}_{t}^{(i)}{\delta_{{\overset{\sim}{\gamma}}_{0:t}^{(i)}}\left( {d\quad \gamma_{0:t}} \right)}}}},$

[0172] and the one after the selection step follows as ${{\hat{p}}_{N}\left( {d\quad \gamma_{0:t}} \middle| y_{1:t} \right)} = {\underset{i = 1}{\overset{N}{N^{- 1}\sum}}\quad {\overset{\sim}{w}}_{t}^{(i)}{{\delta_{\gamma_{0:t}^{(i)}}\left( {d\quad \gamma_{0:t}} \right)}.}}$

[0173] Systematic sampling as disclosed by Doucet, de Freitus and Gordon is chosen for its good variance properties.

[0174] However selection poses another problem. During the resampling stage, any particular particle with a high importance weight will be duplicated many times. In particular, when L>0, the trajectories are resampled L times from time t+1 to t+L so that very few distinct trajectories remain at time t+L. This is the classical problem of depletion of samples. As a result the cloud of particles may eventually collapse to a single particle. This degeneracy leads to poor approximation of the distributions of interest. Several suboptimal methods have been proposed to overcome this problem and introduce diversity amongst the particles. Most of these are based on kernel density methods (as disclosed by Doucet, Godsill and Andrieu and by N. J. Gordon, D. J. Salmond and A. F. M. Smith, “Novel approach to nonlinear/non-Gaussian Bayesian state estimation”, IEE Proceedings-F, vol. 140, no. 2, pp. 107-113, 1993, (the contents of which are incorporated herein by reference), which approximate the probability distribution using a kernel density estimate based on the current set of particles, and sample a new set of distinct particles from it. However, the choice and configuration of a specific kernel are not always straightforward. Moreover, these methods introduce additional Monte Carlo variation. It is shown hereinafter how MCMC methods may be combined with sequential importance sampling to introduce diversity amongst the samples without increasing the Monte Carlo variation.

[0175] An efficient way of limiting sample depletion consists of simply adding an MCMC step to the simulation-based filter/fixed-lag smoother (see Berzuini and Gilks referred to by Doucet, Godsill and Andrieu and by C. P. Robert and G. Casella, Monte Carlo Statistical Methods, Springer Verlag, 1999, the contents of which are incorporated herein by reference). This introduces diversity amongst the samples and thus drastically reduces the problem of depletion of samples. Assume that, at time t+L, the particles γ_(0 : t + L)^(′(i))

[0176] are marginally distributed according to p (dγ_(0:t+L)|y_(1:t+L). If a transition kernel K (γ) _(0:t+L)|dY′_(0:t+L) with invariant distribution p (dγ) _(0:t+L)|y_(1:t+L)) is applied to each of the particles, then the new particles γ_(0 : t + L)^((i))

[0177] are still distributed according to the distribution of interest. Any of the standard MCMC methods, such as the Metropolis-Hastings (MH) algorithm or Gibbs sampler, may be used. However, contrary to classical MCMC methods, the transition kernel does not need to be ergodic. Not only does this method introduce no additional Monte Carlo variation, but it improves the estimates in the sense that it can only reduce the total variation norm of the current distribution of the particles with respect to the target distribution.

[0178] Given at time t+L−1, N∈N* particles γ_(0 : t + L − 1)^((i))

[0179] distributed approximately according to p(dγ_(0:t+L−1)|y_(1:t+L−1)), the Monte Carlo fixed-lag smoother proceeds as follows at time t+L.

[0180] Sequential Importance Sampling Step

[0181] For i=1, . . . , N, ${{\overset{\sim}{\gamma}}_{t + L}^{(i)} \sim {{\pi \left( {\left. {d\quad \gamma_{t + L}} \middle| x_{0:{t + L - 1}}^{(i)} \right.,y_{1:{t + L}}} \right)}\quad {and}\quad {set}\quad {\overset{\sim}{\gamma}}_{0:{t + L}}^{(i)}}} = {\left( {{\overset{\sim}{\gamma}}_{0:{t + L - 1}}^{(i)},{\overset{\sim}{\gamma}}_{t + L}^{(i)}} \right).}$

[0182] For i=1, . . . , N, compute the normalized importance weights ${\overset{\sim}{w}}_{t + L}^{(i)}$

[0183] using (37) and (40).

[0184] Selection Step

[0185] Multiply/discard particles ${\overset{\sim}{\gamma}}_{0:{t + L}}^{(i)}$

[0186] with respect to high/low normalised importance weights to obtain N particles γ_(0 : t + L)^(′(i)),

[0187] e.g. using systematic sampling.

[0188] MCMC Step

[0189] For i=1, . . . , N, apply to γ_(0 : t + L)^(′(i))

[0190] a Markov transition kernel K(γ_(0 : t + L)^((i))|d  γ_(0 : t + L)^(′(i)))

[0191] with invarient distribution p (dγ_(0:t+L)|y_(1:t+L)) to obtain N particles γ_(0 : t + L)^((i)).

[0192] There is an unlimited number of choices for the MCMC transition kernel. Here a one-at-a-time MH algorithm is adopted that updates at time t+L the values of the Markov process from time t to t+L. More specifically γ_(k)^((i)),

[0193] k=t, . . . ,t+L, i=1, . . . , N, is sampled according to ${p\left( {\left. {d\quad \gamma_{k}} \middle| \gamma_{- k}^{(i)} \right.,y_{1:{t + L}}} \right)},{{with}\quad \gamma_{- k}^{(i)}{{\underset{\underset{\_}{\_}}{\Delta}\left( {\gamma_{0:{t - 1}}^{\prime {(i)}},\gamma_{t}^{(i)},\quad \ldots \quad,\gamma_{k + 1}^{\prime {(i)}},\quad \ldots \quad,\gamma_{t + L}^{\prime {(i)}}} \right)}.}}$

[0194] It is straightforward to verify that this algorithm admits p (dγ_(0:t+L)|y_(1:t+L)) as invariant distribution. Sampling from p(d  γ_(k)|γ_(−k)^((i)), y_(1 : t + L))

[0195] can be done efficiently via a backward-forward algorithm of O (L+1) complexity as disclosed in A. Doucet and C. Andrieu, “Iterative algorithms for optimal state estimation of jump Markov linear systems”, in Proc. Conf. IEEE ICASSP, 1999 the contents of which are incorporated herein by reference. At time t+L it proceeds as summarised below for the i-th particle.

[0196] For k=t+L, . . . , t, compute and store P_(k|k + 1)^(′ − 1)m_(k|k + 1)^(′)  and  P_(k|k + 1)^(′ − 1)

[0197] by running the information filter defined in (50)-(51) for the two systems (17) and (19).

[0198] Forward Step

[0199] For k=t, . . . ,t+L.

[0200] Sample a proposal γ_(k)˜q (dγ_(k)|γ_(−k), y_(0:t+L)), using the proposal distribution in (43).

[0201] Perform one step of the Kalman filter in (48)-(49) for the current value γ_(k)^(′(i))

[0202] and the proposed value γ_(k), and calculate their posterior probabilities using (41) and for the two systems (17) and (19).

[0203] Compute the MH acceptance probability α(γ_(k)^(′(i)), γ_(k)),

[0204] as defined in (44). If  (u ∼ U_([0, 1])) ≤ α(γ_(k)^(′(i)), γ_(k)), set  γ_(k)^((i)) = γ_(k), otherwise  set  γ_(k)^((i)) = γ_(k)^(′(i)).

[0205] The target posterior distribution for each of the MH steps is given by $\begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} {p\left( {x_{k},\left. \beta_{k} \middle| x_{- k} \right.,\beta_{- k},y_{1:{t + L}}} \right)} \\ {\alpha \quad {p\left( {\left. y_{1:{t + L}} \middle| x_{0:{t + L}} \right.,\beta_{0:{t + L}}} \right)}{p\left( {x_{k},\left. \beta_{k} \middle| x_{- k} \right.,\beta_{- k}} \right)}} \end{matrix} \\ {\alpha \quad {p\left( {\left. y_{1:{t + L}} \middle| x_{0:{t + L}} \right.,\beta_{0:{t + L}}} \right)}{p\left( {\left. x_{k} \middle| x_{- k} \right.,\beta_{0:{t + L}}} \right)}{p\left( {\left. \beta_{k} \middle| x_{- k} \right.,\beta_{- k}} \right)}} \end{matrix} \\ {\alpha \quad {p\left( {\left. y_{1:{t + L}} \middle| x_{0:{t + L}} \right.,\beta_{0:{t + L}}} \right)}{p\left( {\left. x_{k} \middle| x_{0:{k - 1}} \right.,\beta_{0:{t + L}}} \right)}{p\left( {\left. x_{{k + 1}:{t + L}} \middle| x_{1:k} \right.,\beta_{0:{t + L}}} \right)}{p\left( \beta_{k} \middle| \beta_{- k} \right)}} \end{matrix} \\ {\alpha \quad {p\left( {\left. y_{k} \middle| x_{0:{k - 1}} \right.,\beta_{0:{k - 1}}} \right)} \times {\int{{p\left( {\left. y_{{k + 1}:{t + L}} \middle| h_{k} \right.,x_{{k + 1}:{t + L}},\beta_{{k + 1}:{t + L}}} \right)}{p\left( {\left. h_{k} \middle| y_{1:k} \right.,x_{0:k},\beta_{0:k}} \right)}{h_{k}} \times}}} \end{matrix} \\ {{p\left( \beta_{k} \middle| \beta_{k - 1} \right)}{p\left( \beta_{k + 1} \middle| \beta_{k} \right)}{p\left( x_{k} \middle| \beta_{0:{t + L}} \right)}{\int{{p\left( {\left. x_{{k + 1}:{t + L}} \middle| a_{k} \right.,\beta_{{k + 1}:{t + L}}} \right)}{p\left( {\left. a_{k} \middle| x_{1:k} \right.,\beta_{0:k}} \right)}{a_{k}}}}} \end{matrix} & (41) \end{matrix}$

[0206] There is a similarity between the two expressions in y_(k) and x_(k). These two terms can be computed in an identical way by first using two Kalman filters for system (17) and (19) to obtain p (y_(k)|x_(0:k−1), β_(0:k−1))=N(Y_(k); y_(k|k−1)S_(k) ^(h)) and p(x_(k)|β_(0:t+L))=N(x_(k); x_(k|k−1)S_(k) ^(h)) and secondly two information filters to obtain $\begin{matrix} {\int{{p\left( {\left. y_{{k + 1}:{t + L}} \middle| h_{k} \right.,x_{{k + 1}:{t + L}},\beta_{{k + 1}:{t + L}}} \right)}{p\left( {\left. h_{k} \middle| y_{1:k} \right.,x_{0:k},\beta_{0:k}} \right)}{h_{k}}}} \\ \left. \alpha \middle| {I_{{\overset{\sim}{n}}_{h}} + {\prod\limits_{k}^{\quad}\quad {{\overset{\sim}{R}}_{k}^{hT}P_{{k/k} + 1}^{h/{- 1}}{\overset{\sim}{R}}_{k}^{h}}}} \middle| {}_{{- 1}/2} \times \right. \\ {\exp\left( {{- \frac{1}{2}}\left( {{m_{k/k}^{hT}P_{{k/k} + 1}^{h/{- 1}}m_{k/k}^{h}} - {2m_{k/k}^{hT}P_{{k/k} + 1}^{h/{- 1}}m_{{k/k} + 1}^{h/}} -} \right.} \right.} \\ {\left. \left. {\left( {m_{k|{k + 1}}^{h/} - m_{k/k}^{h}} \right)^{T}P_{k|{k + 1}}^{h/{- 1}}{\overset{\sim}{Q}}_{k}^{h}{P_{k|{k + 1}}^{h/{- 1}}\left( {m_{k|{k + 1}}^{h/} - m_{k|k}^{h}} \right)}} \right) \right),} \end{matrix}$

[0207] and a similar expression for ∫ p(x_(k+1:t+L)|α_(k), β_(k+1:t+L))p(α_(k)|x_(1:k), β_(0:k))da_(k). The different matrices involved are defined as follows. Let ${P_{k/k}^{h} = {{\overset{\sim}{R}}_{k}^{h}\Pi_{k}^{h}{\overset{\sim}{R}}_{k}^{hT}}},$

[0208] where {tilde over (II)}_(k) ^(h) ∈ R^({overscore (n)}) _(h) ^({tilde over (m)}) _(h) is the diagonal matrix containing the ñ_(h)≦n_(h) non-zero singular values of P_(k|k) ^(h) and {tilde over (R)}_(k) ^(h) ∈R^(n) _(h) ^({overscore (m)}) _(h) is the matrix containing the columns of R_(k) ^(h) corresponding to the non-zero singular values, where P_(k|k)^(h) = R_(k)^(h)Π_(k)^(h)R_(k)^(hT)

[0209] is the singular value decomposition of P_(k|k.)^(h)

[0210] The matrix {tilde over (Q)}_(k) ^(h) is given by ${\overset{\sim}{Q}}_{k}^{h} = {{{\overset{\sim}{R}}_{k}^{h}\left( {{\overset{\sim}{\Pi}}_{k}^{h - 1} + {{\overset{\sim}{R}}_{k}^{hT}P_{k|{k + 1}}^{h/{- 1}}{\overset{\sim}{R}}_{k}^{h}}} \right)}^{- 1}{{\overset{\sim}{R}}_{k}^{hT}.}}$

[0211] To sample from the distribution in (41) using a MH step, the proposal distribution is here taken to be: $\begin{matrix} \begin{matrix} {{q\left( {\left. \beta_{k} \middle| \beta_{k - 1} \right.,\beta_{k + 1}} \right)}\alpha \quad {p\left( \beta_{k + 1} \middle| \beta_{k} \right)}{p\left( \beta_{k} \middle| \beta_{k - 1} \right)}} \\ {{q\left( {\left. x_{k} \middle| x_{- k} \right.,\beta_{0:{t + L}},y_{0:{t + L}}} \right)}\alpha \quad {p\left( {\left. x_{k} \middle| m_{k|k}^{a} \right.,m_{k}^{h},\beta_{k},y_{0:k}} \right)}} \end{matrix} & (42) \end{matrix}$

[0212] and

q(γ_(k)|γ_(−k), y_(0:t+L))αq(β_(k)|β_(k−1), β_(k−1))q(x_(−k), β_(0:t+L), y_(0:t+L)).  (43)

[0213] which requires a one step ahead Kalman filter on the system (14). In both cases $\left. \varphi_{k} \middle| {\left( {\varphi_{k - 1},\varphi_{k + 1}} \right) \sim {{N\left( {\frac{\varphi_{k - 1} + \varphi_{k + 1}}{2},\frac{\sigma^{2}}{2}} \right)}.}} \right.$

[0214] If the current and proposed new values for the state of the Markov chain are given by γ_(k) and γ′_(k), respectively, the MH acceptance probability follows as

α(γ_(k), γ′_(k))=min {1, r(γ_(k), γ′_(k))},  (44)

[0215] with the acceptance ratio given by $\begin{matrix} {{r\left( {\gamma_{k},\gamma_{k}^{\prime}} \right)} = {\frac{p\left( {{\gamma_{k}^{\prime}\left. {\gamma_{- k},y_{{1\text{:}t} + L}} \right){q\left( \gamma_{k} \right.}\gamma_{- k}},y_{{1\text{:}t} + L}} \right)}{p\left( {{\gamma_{k}\left. {\gamma_{- k},y_{{1\text{:}t} + L}} \right){q\left( \gamma_{k}^{\prime} \right.}\gamma_{- k}},y_{{1\text{:}t} + L}} \right)}.}} & (45) \end{matrix}$

[0216] At each iteration the computational complexity of the Monte Carlo fixed-lag smoother is O ((L+1)N), and it is necessary to keep in memory the paths of all the trajectories from time t to t+L, i.e. {γ_(t:t + L)^((i)):i = 1, …  , N}

[0217] as well as the sufficient statistics m_(t|t)^(a, h(i)), P_(t|t)^(a, h(i)):i = 1, …  , N}.

[0218] The computational complexity of this algorithm at each iteration is clearly O (N). At first glance, it could appear necessary to keep in memory the paths of all the trajectories {γ_(0:t)^((i)):i = 1, …  , N},

[0219] so that the storage requirements would increase linearly with time. In fact, for both the optimal and prior importance distributions, π (γ_(t)|γ_(0:t−1), y_(1:t)) and the associated importance weights depend on γ_(0:t−1) only via a set of low-dimensional sufficient statistics {m_(t|t)^(a, h(i)), P_(t|t)^(a, h(i)):i = 1, …  , N},

[0220] and only these values need to be kept in memory. Thus, the storage requirements are also O (N) and do not increase over time. Appendix: Kalman filter recursions

[0221] The System

x _(t+1) =A _(t+l) x _(t) +B _(t+1) v _(t+1)  (46)

y _(t) =C _(t) X _(t) +D _(t) w _(t)  (47)

[0222] is considered.

[0223] The sequence ζ_(1:T) being here assumed known, the Kalman filter equations are the following.

[0224] Set m_(0|0)=ζ₀ and P_(0|0)=P₀, then for t=1, . . . , T compute

[0225] m_(t|t)=Am_(t−1|t−1)

[0226] P_(t|t)=A_(t)P_(t−1|t−1)A_(t) ^(T)+B_(t)B_(t) ^(T)

[0227] y_(t|t)=C_(t)m_(t|t−1)C_(t) $\begin{matrix} {{S_{t} = {{C_{t}P_{t|{t - 1}}C_{t}^{T}} + {D_{t}D_{t}^{T}}}}{m_{t|t} = {m_{t|{t - 1}} + {P_{t|{t - 1}}C_{t}^{T}S_{t}^{- 1}{\overset{\sim}{y}}_{t|{t - 1}}}}}{P_{t|t} = {P_{t|{t - 1}} - {P_{t|{t - 1}}C_{t}^{T}S_{t}^{- 1}C_{t}P_{t|{t - 1}}}}}} & (48) \end{matrix}$

[0228] where m_(t|t−1)=E{x_(t)|y_(1:t−I, ζ1:t)}, m_(t|t)=E {x_(t)|y_(1:t), ζ_(1:t)}, {tilde over (y)}_(t|t−I)=y_(t)−y_(t|t−1), P_(t|t−1)=cov {x_(t)|y_(1:t−1)ζ_(1:t)}, m_(t|t) =cov {x_(t)|y_(1:t),ζ_(1:t)}, Y_(t|t−1)=E {y_(t)|y_(1:t−1), ζ_(1:t)} and S_(t)=cov {y_(t)|y_(1:t−1), ζ_(1:t)}. The likelihood p (y_(t)|ζ_(1:t)) is estimated as $\begin{matrix} {{p\left( y_{t} \middle| _{1\text{:}t} \right)} = {\frac{1}{{{2\pi \quad P_{t|{t - 1}}}}^{1/2}}{\exp \left( {\frac{- 1}{2\sigma_{v}^{2}}{\overset{\sim}{y}}_{t|{t - 1}}^{T}{\overset{\sim}{y}}_{t|{t - 1}}} \right)}}} & (49) \end{matrix}$

[0229] The backward information filter proceeds as follows from time t+L to t. $\begin{matrix} {{P_{{t + L}|{t + L}}^{\prime - 1} = {{C_{t + L}^{T}\left( {D_{t + L}D_{t + L}^{T}} \right)}^{- 1}C_{t + L}}}{{P_{{t + L}|{t + L}}^{\prime - 1}m_{{t + L}|{t + L}}^{\prime}} = {{C_{t + L}^{T}\left( {D_{t + L}D_{t + L}^{T}} \right)}^{- 1}y_{t + L}}}} & (50) \end{matrix}$

[0230] and for k=t+L−1, . . ., 1 $\begin{matrix} {{\Delta_{k + 1} = \left\lbrack {I_{n_{v}} + {B_{k + 1}^{T}P_{{k + 1}|{k + 1}}^{\prime - 1}B_{k + 1}}} \right\rbrack^{- 1}}{P_{k|{k + 1}}^{\prime - 1} = {A_{k + 1}^{T}P_{{k + 1}|{k + 1}}^{\prime - 1} \times \left( {I_{n_{x}} - {B_{k + 1}\Delta_{k + 1}B_{k + 1}^{T}P_{{k + 1}|{k + 1}}^{\prime - 1}}} \right)A_{k + 1}}}{{P_{k|{k + 1}}^{\prime - 1}m_{k|{k + 1}}^{\prime}} = {{A_{k + 1}^{T}\left( {I_{n_{x}} - {B_{k + 1}\Delta_{k + 1}B_{k + 1}^{T}P_{{k + 1}|{k + 1}}^{\prime - 1}}} \right)} \times P_{{k + 1}|{k + 1}}^{\prime - 1}m_{{k + 1}|{k + 1}}^{\prime}}}{P_{k|k}^{\prime - 1} = {P_{k|{k + 1}}^{\prime - 1} + {{C_{k}^{T}\left( {D_{k}D_{k}^{T}} \right)}^{- 1}C_{k}}}}{{P_{k|k}^{\prime - 1}m_{k|k}^{\prime}} = {{P_{k|{k + 1}}^{\prime - 1}m_{k|{k + 1}}^{\prime}} + {{C_{K}^{T}\left( {D_{k}D_{k}^{T}} \right)}^{- 1}y_{k}}}}} & (51) \end{matrix}$ 

1. A method of extracting at least one desired signal from a system comprising at least one measured contaminated signal and at least one communication channel via which the at least one contaminated signal is measured, comprising modelling the at least one desired signal as a first dynamical state space system with at least one first time-varying parameter and modelling the at least one communication channel as a second state space system having at least one second parameter.
 2. A method as claimed in claim 1, in which the at least one desired signal is generated by a physical process.
 3. A method as claimed in claim 2, in which the at least one first parameter models the physical generation process.
 4. A method as claimed in any one of the preceding claims, in which the at least one second parameter is fixed and unknown.
 5. A method as claimed in any one of claims 1 to 3, in which the at least one second parameter is time-varying.
 6. A method as claimed in claim 5, in which the at least one first time-varying parameter has a rate of change which is different from that of the at least one second time-varying parameter.
 7. A method as claimed in claim 6, in which the rate of change of the at least one first time-varying parameter is, on average, greater than that of the at least one second time-varying parameter.
 8. A method as claimed in any one of the preceding claims, in which the at least one desired signal comprises a plurality of desired signals, each of which is modelled as a respective state space system.
 9. A method as claimed in claim 8, in which at least one but not all of the plurality of desired signals is modelled with at least one third parameter, the or each of which is fixed and unknown.
 10. A method as claimed in claim 8 or 9, in which at least one but not all of the plurality of desired signals is modelled with at least one fourth parameter, the or each of which is known.
 11. A method as claimed in any one of the preceding claims, in which the or each second parameter is known.
 12. A method as claimed in any one of the preceding claims, in which the at least one communication channel comprises a plurality of communication channels and the at least one contaminated signal comprises a plurality of contaminated signals.
 13. A method as claimed in claim 12 when dependent on claim 8, in which the number of communication channels is greater than or equal to the number of desired signals.
 14. A method as claimed in any one of claims 8 to 10 and 13 or in claim 11 or 12 when dependent on claim 8, in which the at least one contaminated signal comprises a linear combination of time-delayed versions of at least some of the desired signals.
 15. A method as claimed in any one for the preceding claims, in which the at least one contaminated signal comprises the at least one desired signal contaminated with noise.
 16. A method as claimed in any one of the preceding claims, in which the at least one channel comprises a plurality of signal propagation paths of different lengths.
 17. A method as claimed in any one of the preceding claims, in which the at least one desired signal comprises an analog signal.
 18. A method as claimed in claimed 17, in which the analog signal is a temporally sampled analog signal.
 19. A method as claimed in claim 17 or 18, in which the at least one desired signal comprises a sound signal.
 20. A method as claimed in claim 19, in which the least one sound signal comprises speech.
 21. A method as claimed in claim 19 or 20 when dependent on claim 12, in which the contaminated signals are measured by spatially sampling a sound field.
 22. A method as claimed in any one of claims 19 to 21 when dependent on claim 3, in which the at least one first parameter comprises a noise generation modelling parameter.
 23. A method as claimed in claim 22 or in any one of claims 19 to 21 when dependent on claim 3, in which the at least one first parameter comprises a formant modelling parameter.
 24. A method as claimed in any one of the preceding claims, in which the at least one desired signal is modelled as a time-varying autoregression.
 25. A method as claimed in any one of claims 1 to 23, in which the at least one desired signal is modelled as a moving average model.
 26. A method as claimed in any one of claims 1 to 23, in which the at least one desired signal is modelled as a non-linear time-varying model.
 27. A method as claimed in any one of the preceding claims, in which the at least one communication channel is modelled as a finite impulse response model.
 28. A method as claimed in any one of claims 1 to 26, in which the at least one communication channel is modelled as an infinite impulse response model.
 29. A method as claimed in any one of claims 1 to 26, in which the at least one communication channel is modelled as a non-linear time-varying model.
 30. A method as claimed in any one of the preceding claims, in which the first state space system has at least one parameter which is modelled using a probability model.
 31. A method as claimed in claim 30, in which the at least one desired signal is extracted by a Bayesian inversion.
 32. A method as claimed in claim 30, in which thet at least one desired signal is extracted by maximum likelihood.
 33. A method as claimed in claim 30, in which the at least one desired signal is extracted by a last squares fit.
 34. A method as claimed in any one of claims 31 to 33, in which the signal extraction is performed by a sequential Monte Carlo method or particle filter.
 35. A method as claimed in any one of claims 31 to 35, in which the signal extraction is performed by a Kalman filter or by an extended Kalman filter.
 36. A program for controlling a computer to perform a method as claimed in any one of the preceding claims.
 37. A carrier containing a program as claimed in claim
 36. 38. A computer programmed by a program as claimed in claim
 36. 